/**
 * @brief 键盘扫描函数
 * @param 无
 * @return 无
 * @note 使用前必须确定使用哪种键盘，单键还是矩阵键盘，并在下面选择相应的宏定义
 */
#ifndef __KEYBOARD_H
#define __KEYBOARD_H

#include "stc15f2k60s2.h"
#include "intrins.h"

// #define USE_MATRIX_KEY_S4   //使用矩阵键盘S4
// #define USE_MATRIX_KEY_S12  //使用矩阵键盘S12
// #define USE_SINGLE_KEY      //使用独立按键

typedef struct{
    unsigned char status;
    unsigned char value;
    void (code *pFun)(void);
}KEYStruct; //键盘结构体

KEYStruct* GetKeyStruct(void);  //获取当前按键值

void InitKeyStruct(void);      //初始化键盘结构体

#if defined(USE_MATRIX_KEY_S4) || defined(USE_MATRIX_KEY_S12)
void ScanKeyboard(void);
#endif

#ifdef USE_SINGLE_KEY
void ScanKeys(void);
#endif

#endif